<?php
    $cedula = ($ced!='descargar') ? $valores[0][0]['cedula'] : $filtro['cedula'];
    $criterioFiltro=array('A' => 'A - RETARDO ENTRADA', 'B' => 'B - SALIDA TEMPRANA', 'C' => 'C - FILTROS A Y B', 'D' => 'D - SOBRETIEMPO', 'E' => 'E - TODOS');

    $semana = array(1 => 'Lunes', 2 => 'Martes', 3 => 'Miercoles', 4 => 'Jueves', 5 => 'Viernes', 6 => 'Sabados', 0 => 'Domingo');

    $diasSemana = explode(',', $filtro['semana']);
    $diasSemanaDisplay = '';

    if(!empty($diasSemana)) {

        foreach ($diasSemana as $valor) {
            $diasSemanaDisplay .= $semana[$valor] . ', ';
        }    
    }    

    $diasSemanaDisplay = trim($diasSemanaDisplay, ', ');

    $f_inicio = implode('-', array_reverse(explode('-', $filtro['f_inicio'])));
    $f_fin = implode('-', array_reverse(explode('-', $filtro['f_fin'])));

	$cabezera = '<table width="1100px" border="0" cellpadding="0" cellspacing="0" style="font-size: 10px;"><tr><td colspan="2" align="left" width="400px"><b>CONFIGURACION:</b></td><td colspan="2" align="left"><b>FILTRO:</b></td></tr><tr><td align="left">Hora de Entrada:</td><td align="left">' . $filtro['h_entrada']. '</td><td align="left">Fecha de Inicio</td><td align="left">' . $f_inicio. '</td></tr><tr><td align="left">Hora de Salida:</td><td align="left">' . $filtro['h_salida']. '</td><td align="left">Fecha Limite</td><td align="left">' . $f_fin. '</td></tr><tr><td align="left">Hora Extras:</td><td align="left">' . $filtro['h_extra']. '</td><td align="left">Criterios:</td><td align="left">' . $criterioFiltro[$filtro['criterios']] . '</td></tr><tr><td align="left">Dias:</td><td align="left">' . $diasSemanaDisplay . '</td><td align="left">Cedula:</td><td align="left">' . $cedula . '</td></tr><tr><td align="left">Dias no Laborables:</td><td align="left">' . $filtro['no_laboral']. '</td><td align="left"></td><td align="left"></td></tr><tr><td align="left">User ID omitidos:</td><td align="left">' . $filtro['ids_omitir']. '</td><td align="left"></td><td align="left"></td></tr></table><br/><br/>';

		$cuerpo = '<table  width="1100px" border="1" cellpadding="0" cellspacing="0" style="font-size: 11px;"><tr style="font-weight: bold;"><th width="50px">User ID</th><th width="45px">Cedula</th><th width="130px">Nombre y Apellido</th><th width="160px">Departamento</th><th width="50px">Fecha</th><th width="45px">Dia</th><th width="45px">Entrada</th><th width="45px">Salida</th><th width="50px">Dif. Entrada</th><th width="50px">Dif. Salida</th><th width="45px">Descuento</th><th width="50px">Sobretiempo</th></tr>';

    $i = 0;

    $idAnterior = '';
    $cedulaAnterior = '';
    $nombreAnterior = '';
    $coordinacionAnterior = '';

    $colRowspan = array();


	foreach($valores AS $a) {

		$v = $a[0];

        if(!empty($v['diferencia_entrada'])) {

            $simboloEntrada = substr($v['diferencia_entrada'], 0, 1);
            $simboloSalida = substr($v['diferencia_salida'], 0, 1);

            if($simboloEntrada == '-' OR $simboloSalida == '-') {

                $ltrRojasEntrada = ($simboloEntrada == '-') ? ' color="red" ' : '';
                $ltrRojasSalida = ($simboloSalida == '-') ? ' color="red" ' : '';
            }
            else {
                $diferenciaGeneral = '';
                $ltrRojasEntrada = '';
                $ltrRojasSalida = '';
            }

            if($simboloEntrada == '-' AND $simboloSalida == '-') {

                $diferenciaEntrada = ($simboloEntrada == '-') ? substr($v['diferencia_entrada'], 1) : $v['diferencia_entrada'];
                $diferenciaSalida = ($simboloSalida == '-') ? substr($v['diferencia_salida'], 1) : $v['diferencia_salida'];
                
                $diferenciaEntrada = explode(':', $diferenciaEntrada);
                $diferenciaSalida = explode(':', $diferenciaSalida);

                $diferenciaEntrada = ((int)$diferenciaEntrada[0] * 3600) + ((int)$diferenciaEntrada[1] * 60) + (int)$diferenciaEntrada[2];
                $diferenciaSalida = ((int)$diferenciaSalida[0] * 3600) + ((int)$diferenciaSalida[1] * 60) + (int)$diferenciaSalida[2];

                $diferenciaEntrada = ($simboloEntrada == '-') ? ($diferenciaEntrada * (-1)) : $diferenciaEntrada;
                $diferenciaSalida = ($simboloSalida == '-') ? ($diferenciaSalida * (-1)) : $diferenciaSalida;

                $totalDiferencia = $diferenciaSalida + $diferenciaEntrada;

                $completoDiferencia = $totalDiferencia;
                $totalDiferencia = abs($totalDiferencia);

                $h = floor($totalDiferencia / 3600); 
                $m = floor(($totalDiferencia % 3600) / 60); 
                $s = $totalDiferencia - ($h * 3600) - ($m * 60); 

                $simboloCompleto = substr($completoDiferencia, 0, 1);
                $simboloFinal = ($simboloCompleto == '-') ? '-' : '';
                
                $diferenciaGeneral = sprintf('%02d:%02d:%02d', $h, $m, $s);
            }
            elseif($simboloEntrada == '-') {
                $diferenciaGeneral = $v['diferencia_entrada'];
            }
            elseif($simboloSalida == '-') {
                $diferenciaGeneral = $v['diferencia_salida'];
            }
            else {
                $diferenciaGeneral = '';
                $ltrRojasEntrada = '';
                $ltrRojasSalida = '';
            }
        }
        else {
            $diferenciaGeneral = '';
            $ltrRojasEntrada = '';
            $ltrRojasSalida = '';
        }



        if($idAnterior != $v['id']) {
            $idAnterior = $v['id'];
            $idMostrar = '<td id="'.$v['id'].'" rowspan="##id'.$v['id'].'##"> ' . $v['id'] . ' </td>';
            $cedulaMostrar = '<td rowspan="##id'.$v['id'].'##"> ' .$v['cedula'] . ' </td>';
            $nombreMostrar = '<td align="left" rowspan="##id'.$v['id'].'##"> ' . $v['nombres'] . ' </td>';
            $departamentoMostrar = '<td align="left" rowspan="##id'.$v['id'].'##"> ' . $v['departamento'] . ' </td>';

            $colRowspan[$v['id']] = 1;
        }
        else {
            $idMostrar = '';
            $cedulaMostrar = '';
            $nombreMostrar = '';
            $departamentoMostrar = '';
            $colRowspan[$v['id']]++;
        }

        //$cordinacionAnterior = '';

        $fechaInver = implode('-', array_reverse(explode('-', $v['fecha'])));

		$cuerpo .= '<tr>'. $idMostrar . $cedulaMostrar . $nombreMostrar . $departamentoMostrar . '<td>' . $fechaInver . '</td><td align="left"> ' . $v['dia'] . '</td><td>' . $v['entrada'] . '</td><td>' . $v['salida'] . '</td><td ' . $ltrRojasEntrada . '>' . $v['diferencia_entrada'] . '</td><td ' . $ltrRojasSalida . '>' . $v['diferencia_salida'] . '</td><td>' . $diferenciaGeneral . '</td><td>' . $v['sobretiempo'] . '</td></tr>';

        $i++;
	}

    foreach ($colRowspan AS $llaveId => $valorId) {

        $cuerpo = str_replace('##id'.$llaveId.'##', $valorId, $cuerpo);
    }


	$cuerpo .= '</table>';

    $estilos = '<style>

                    table td, table th {
                        padding: 0px 2px;
                    }

                </style>';


    $htmlPDF = $estilos . $cabezera . $cuerpo;


    /*

  	$nombrepdf='REPORTE CONTROL DE ASISTENCIAS ('.sistema.')';

    $this->Pdf->Nuevo('P', PDF_UNIT, 'letter', true, 'UTF-8', false);

    $textfont = 'freesans' ;
    $this->Pdf->hoja-> SetAuthor (sistema);
    $this->Pdf->hoja-> SetAutoPageBreak ( true, 15);
    $this->Pdf->hoja-> impresopor ='Usuario: '.$this->Session->read('nombre_usuario');
    $this->Pdf->hoja-> xfootertext = direccion ;
    $this->Pdf->hoja->sistema=sistema;
    $this->Pdf->hoja->setPageOrientation('l');

    $this->Pdf->hoja->AddPage();

    $this->Pdf->hoja->writeHTMLCell('', '', '8', '', $htmlPDF, 0, 1, 0, true, 'C');
    $nomb=str_replace(' ','_',$nombrepdf)."_".date('dmy');


    echo $this->Pdf->hoja->Output($nomb.".pdf" , 'D');
    */


    $clasePDF->cargarDocumento($htmlPDF, 'Reporte de Asistencias', 'descargar', 'horizontal');

/*

function pdf2html($coincidencia) {

    foreach ($coincidencia as $valor) {
        list($numero) = explode('px', $valor);

        if($numero == 22 or $numero == 24) {
            //echo "Mayor Tres ($numero)<br/>";
            return ($numero / 2) . 'px';
        }
        else if($numero > 0) {
            //echo "Menor Tres ($numero)<br/>";
            return ($numero * 1.5) . 'px';
        }
    }
}

if($tipo == 'vista') {

    $mk=mktime(date("his")); $formulario=$mk;
    $id_vent="vent_".$formulario;
    $anio=date('Y')+1;
    $max=date('d-m-').$anio;
    $this->Vista->ventana(DOCULTO,DVENTANA,'PDF CIERRE DE CAJAS','CierreCajas/pdf',$formulario, null,0,'1150','340',$id_vent);
?>

<div id="<?php echo DVENTANA;?>_2" style="display:none;" class="x-hide-display">

<?php 
    $generarPDF = $htmlPDF;

    $htmlPDF = preg_replace_callback(
            "/[0-9]+px/",
            "pdf2html",
            $htmlPDF);

    echo $this->Interfaz->formulario($formulario);
    echo $this->Interfaz->inputoculto('generarPDF', $generarPDF);
    echo $htmlPDF;

    $desde = implode('-', array_reverse(explode('-', $desde)));
    $hasta = implode('-', array_reverse(explode('-', $hasta)));
    $idPuntoEncriptada = $this->Interfaz->id($idPunto);
    $idTiendaoEncriptada = $this->Interfaz->id($idTienda);

    echo '<div style="padding: 40px 0px 40px 500px">';
    echo $this->Interfaz->boton_ventana('PDF',"CierreCajas/pdf_punto/$idPuntoEncriptada/$idTiendaoEncriptada/$desde/$hasta/pdf",'100px');
    echo '</div>';
}
elseif($tipo == 'pdf') {

    $nombrepdf='LISTADO DE PRUEBA ('.sistema.')';

    $this->Pdf->Nuevo('P', PDF_UNIT, 'letter', true, 'UTF-8', false);

    $textfont = 'freesans' ;
    $this->Pdf->hoja-> SetAuthor (sistema);
    $this->Pdf->hoja-> SetAutoPageBreak ( true, 15);
    $this->Pdf->hoja-> impresopor ='Usuario: '.$this->Session->read('nombre_usuario');
    $this->Pdf->hoja-> xfootertext = direccion ;
    $this->Pdf->hoja->sistema=sistema;
    $this->Pdf->hoja->setPageOrientation('l');

    $this->Pdf->hoja->AddPage();

    $this->Pdf->hoja->writeHTMLCell('', '', '8', '', $htmlPDF, 0, 1, 0, true, 'C');
    $nomb=str_replace(' ','_',$nombrepdf)."_".date('dmy');

    echo $this->Pdf->hoja-> Output ( $nomb.".pdf" , 'D' );
}
?>

*/